package com.tbit.uqbike.object.view.sugar;

import org.springframework.web.servlet.support.RequestContext;

import java.util.List;

/**
 * @author MyWin E-mail:335918956@qq.com
 * @version 1.0
 * @createTime 2019-12-16 19:03
 */
public class SugarTableData {
    public List<Columns> columns;
    public List<SugarTableItem> rows;

    public SugarTableData(List<Columns> columns, List<SugarTableItem> rows, RequestContext context) {
        this.columns = columns;
        for (Columns item : this.columns) {
            item.name = context.getMessage(String.format("sugar.%s", item.id));
        }
        this.rows = rows;
    }

    // 列定义
    public static class Columns {
        // 显示的表头
        public String name;
        // 该列绑定的数据字段名称
        public String id;
        // 单位，可以不传
        public String unit;
        // 列中文字的对其方式，left、right、center, 可不传
        public String textAlign;
        // 该列表头的背景色，可不传
        public String headerBgColor;
        // 文字太多时是否自动换行
        public boolean autoWrap;
        // 列宽度，可不传，默认为自适应，可传：100px、25%之类
        public String width;
        // 数据是小数时，保留的位数（四舍五入，不够位数会补零），可不传
        public String accuracy;
        // 对该列的备注说明，一般不需要配置，配置后会在该列的表头上展示一个小问号（鼠标悬停时展示该备注的具体信息）
        public String remark;

        public Columns(String name, String id) {
            this.name = name;
            this.id = id;
        }

        public Columns(String name, String id, String unit) {
            this.name = name;
            this.id = id;
            this.unit = unit;
        }
    }

    // 超级表头, 比如想对表头做一个分类或者使用2级表头多级表头等，就可以用到它，可不传
    public static class SuperHeaders {

    }
}
